<template>
    <ContentFiled v-if="!$store.state.user.pulling_info">
        <div class="row justify-content-md-center">
            <div class="col-3">
                <form @submit.prevent="login">
                    <div class="mb-3">
                        <label for="username" class="form-label">用户名</label>
                        <input v-model="username" type="text" class="form-control" id="username" placeholder="请输入用户名">
                    </div>
                    <div class="mb-3">
                        <label for="password" class="form-label">密码</label>
                        <input v-model="password" type="password" class="form-control" id="password" placeholder="请输入密码">
                    </div>
                    <div class="error_message">{{ error_message }}</div>
                    <button type="submit" class="btn btn-success">登录</button>
                    <router-link :to="{name:'user_account_register'}" style="float: right;">没有账号,去注册</router-link>
                </form>
            </div>
        </div>
    </ContentFiled>
</template>
<script>

import ContentFiled from '@/components/ContentFiled.vue'
import { useStore } from 'vuex'
import { ref } from 'vue'
import router from '@/router'

export default{
    components:{
        ContentFiled
    },

     setup(){
        
        const store = useStore();
        let username = ref('');
        let password = ref('');
        let error_message = ref('');

        const jwt_token = localStorage.getItem("jwt_token");
        if(jwt_token){
            store.commit("updatetoken",jwt_token);
            store.dispatch("getinfo",{
                success(){
                    router.push({name:"home"});
                    store.commit("updatePullinginfo",false);
                },
                error(){
                    store.commit("updatePullinginfo",false);
                }
            })
        }else{
            store.commit("updatePullinginfo",false);
        }



        const login = () =>{
            error_message.value = "";
            store.dispatch("login",{
                username:username.value,
                password:password.value,

                success(){

                    store.dispatch("getinfo",{
                        success(){
                            router.push({name : 'home'})
                            // console.log(store.state.user);
                        },
                        error(){

                        }
                    })
                    
                },
                error(){
                    error_message.value = "用户名或密码错误"
                }
            })
        }

        return {
            username,
            password,
            error_message,
            login,
        }
     }
}
</script>

<style scoped>

div.error_message{
    color: red;
}
</style>